home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b3.d64 / program108 < prev    next >
Text File  |  2007-02-28  |  1KB  |  52 lines

  1. 0010 // PROGRAM 108
  2. 0020 //
  3. 0030 // COMELY KATE
  4. 0040 //
  5. 0050 // TO SORT A LIST OF NAMES INTO ALPHABETICAL ORDER
  6. 0060 //
  7. 0070 //
  8. 0080 // FIRST SET UP THE LIST
  9. 0090 READ N#
  10. 0100 DIM NAMES$(N#) OF 20
  11. 0110 FOR COUNT#:=1 TO N# DO
  12. 0120 READ NAMES$(COUNT#)
  13. 0130 ENDFOR COUNT#
  14. 0140 //
  15. 0150 // NOW SORT LIST
  16. 0160 //
  17. 0170 SORT(NAMES$,N#)
  18. 0180 //
  19. 0190 PRINT "THE ALPHABETICAL LIST IS :"
  20. 0200 PRINT 
  21. 0210 PRINT 
  22. 0220 FOR COUNT#:=1 TO N# DO
  23. 0230 PRINT NAMES$(COUNT#)
  24. 0240 ENDFOR COUNT#
  25. 0250 DATA 20
  26. 0260 DATA "JOE SOAP","HANDY ANDY","BILLY BONES"
  27. 0270 DATA "DILLY DREAMER","ELLIE ESTER","BERT BRIGHT"
  28. 0280 DATA "JILL BRIGHT","JOEY O'NEILL","TOM JONES"
  29. 0290 DATA "DON CANUTE","MUHAMMAD ALI","JOE LOUIS"
  30. 0300 DATA "BIG JIM","MARCEL MARAT","FREDDIE FEARLESS"
  31. 0310 DATA "GEORGE MERRIMAN","BIG BILL","SMALL BILL"
  32. 0320 DATA "TOM MIX","HOPALONG HOP"
  33. 0330 END 
  34. 0340 //
  35. 0350 PROC SORT(REF LISST$(),N#) 
  36. 0360 DIM TEMP$ OF 20
  37. 0370 PASS'#:=0
  38. 0380 REPEAT 
  39. 0390 PASS'#:=PASS'#+1
  40. 0400 SWAP:=FALSE
  41. 0410 SCANLENGTH#:=N#-PASS'#
  42. 0420 FOR SCAN#:=1 TO SCANLENGTH# DO
  43. 0430 IF LISST$(SCAN#)>LISST$(SCAN#+1) THEN
  44. 0440 TEMP$:=LISST$(SCAN#)
  45. 0450 LISST$(SCAN#):=LISST$(SCAN#+1)
  46. 0460 LISST$(SCAN#+1):=TEMP$
  47. 0470 SWAP:=TRUE
  48. 0480 ENDIF 
  49. 0490 ENDFOR SCAN#
  50. 0500 UNTIL NOT SWAP OR PASS'#=N#-1
  51. 0510 ENDPROC SORT
  52.